﻿using MotorLibrary.Repository.DTO;
using MotorLibrary.Service;
using System;
using System.Collections.Generic;
using System.Web.Http;

namespace WebMotor.Controllers
{
    public class EjecucionController: ApiController, IEjecucionController
    {
        private IEjecucionService _ejecucionService;
        public EjecucionController(IEjecucionService ejecucionService)
        {
            this._ejecucionService = ejecucionService;
        }

        // POST api/ejecucion
        public EjecucionDTO Post(EjecucionDTO dto)
        {
            return _ejecucionService.Create(dto);
        }

        // GET api/ejecucion
        public IList<EjecucionDTO> Get()
        {
            return _ejecucionService.List();
        }

        // GET api/ejecucion/{id}
        [HttpGet]
        [Route("api/ejecucion/{id}")]
        public EjecucionDTO Get(long id)
        {
            return _ejecucionService.Read(id);
        }

        // GET api/ejecucion/endpoint/{endpointId}
        [HttpGet]
        [Route("api/ejecucion/endpoint/{endpointID}")]
        public IList<EjecucionDTO> FilterByEndpoint(long endpointID)
        {
            return _ejecucionService.FilterByEndpoint(endpointID);
        }
    }
}